1. จากการบวกไปสู่การคูณ
ในกรอบทฤษฎี ฟังก์ชันเชิงเส้นและการแปลงตำแหน่ง (แผนที่แบบแอฟฟิน) มักจะถูกจัดการแยกจากกัน อย่างไรก็ตาม ไลบรารีประสิทธิภาพสูงอย่าง BLAS (โปรแกรมคำนวณพีชคณิตเชิงเส้นพื้นฐาน) ได้รับการปรับให้เหมาะสมโดยเฉพาะสำหรับผลคูณของเมทริกซ์-เวกเตอร์และเมทริกซ์-เมทริกซ์ เพื่อใช้ประโยชน์จากเคอร์เนลเหล่านี้ เราแสดงทุกการดำเนินการในรูปแบบ:
$$T(v) = Av$$
2. พิกัดโฮโมเจนีอัส
เพื่อใช้เมทริกซ์ในการดำเนินการเลื่อนใน $\mathbf{R}^n$ เราต้องขยายไปยัง $\mathbf{R}^{n+1}$ เวกเตอร์ $[x, y, z]^T$ จะกลายเป็น $[x, y, z, 1]^T$ สิ่งนี้ "1 ที่เพิ่มเติม" ทำให้สามารถเข้ารหัสการแปลงตำแหน่งไว้ในคอลัมน์สุดท้ายของเมทริกซ์ขนาด $(n+1) \times (n+1)$ ได้
การเลื่อนด้วย $v_0 = [t_x, t_y, t_z]^T$ ถูกแทนด้วย:
$$A = \begin{bmatrix} 1 & 0 & 0 & t_x \\ 0 & 1 & 0 & t_y \\ 0 & 0 & 1 & t_z \\ 0 & 0 & 0 & 1 \end{bmatrix}$$
จำนวน $0, 0, 0, 1$ ในแถวสุดท้ายมีบทบาทสำคัญ เมื่อ $A$ คูณเวกเตอร์ที่มีองค์ประกอบสุดท้ายเป็น $1$ องค์ประกอบสุดท้ายที่ได้คือ:
$(0 \cdot x) + (0 \cdot y) + (0 \cdot z) + (1 \cdot 1) = 1$
สิ่งนี้ทำให้มั่นใจว่าลักษณะ "แอฟฟิน" ของข้อมูลยังคงถูกเก็บรักษาไว้ ทำให้สามารถดำเนินการต่อเนื่องได้โดยไม่สูญเสียความสมบูรณ์ของระบบพิกัด
3. มาตรฐานการนำไปใช้งาน: BLAS
ประสิทธิภาพเชิงตัวเลขขึ้นอยู่กับฟังก์ชันย่อยที่มาตรฐาน BLAS เสนอระดับการทำงานสามระดับ:
- ระดับ 1: การดำเนินการเวกเตอร์-เวกเตอร์ (เช่น การคูณจุด)
- ระดับ 2: การดำเนินการเมทริกซ์-เวกเตอร์ ($Ax+b$)
- ระดับ 3: การดำเนินการเมทริกซ์-เมทริกซ์ ($AB+C$) ซึ่งเป็นการคำนวณหนาแน่นที่สุดและมีประสิทธิภาพสูงสุดในด้านฮาร์ดแวร์